/** 
 * require.context(directory, useSubdirectories, regExp, mode = 'sync')
 * directory：表示检索的目录
 * useSubdirectories：表示是否检索子文件夹
 * regExp：匹配文件的正则表达式,一般是文件名
 * mode：加载模式，同步/异步
 * 
 * 使用
 * var obj = require.context(directory, useSubdirectories, regExp, mode = 'sync')
 * obj.keys()：匹配到的所有文件路径，以数组形式返回Array[String]
 * obj.id：IDString
 * obj.resolve()：Function   我也不知道咋用的
 * 
 * 使用obj.keys()获取到路径地址  url
 * obj(url)：获取当前地址下模块数据
 * 
 * 
 * 注意：导出方式不同，返回的数据不同，下面详解
 * 
 * 
 * 导出
 * 
 * export default { a,b } 
 * 
 * a: {default: {a导出的数据}}
 * b: {default: {b导出的数据}}
 * 
 * module.exports = { a,b }
 * 
 * a: {a导出的数据}
 * b: {b导出的数据}
 * 
 */

// ./module里面有a.js，b.js，c.js三个文件
// 导出方式  module.exports = exportObj;

var moduleApi = require.context('./module', true, /\.js$/);
var Api = {};
moduleApi.keys().forEach(i=>{
  let name = i.replace(/^\.\/|\.js$/g, '')
  Api[name] = moduleApi(i);
})

module.exports = Api;

// Api返回为： {a: {…}, b: {…}, c: {…}}

